package fun.easycode.webterminal.service;

import fun.easycode.webterminal.common.contract.PageDTO;
import fun.easycode.webterminal.common.contract.R;
import fun.easycode.webterminal.service.cmd.ScriptTemplateExecCmd;
import fun.easycode.webterminal.service.cmd.ScriptTemplatePageQry;
import fun.easycode.webterminal.service.cmd.ScriptTemplateSaveCmd;
import fun.easycode.webterminal.service.dto.ScriptTemplateDTO;
import org.springframework.web.servlet.mvc.method.annotation.SseEmitter;

public interface ScriptTemplateService {
    R<String> delete(String id);

    R<ScriptTemplateDTO> getById(String id);

    R<PageDTO<ScriptTemplateDTO>> page(ScriptTemplatePageQry cmd);

    R<String> save(ScriptTemplateSaveCmd cmd);

    void exec(ScriptTemplateExecCmd cmd, SseEmitter emitter);
}
